Enterprise information technology (IT) systems often are used to manage and process business data. To do so, a business enterprise may use various application programs running on one or more enterprise IT systems. Application programs may be used to process business transactions, such as taking and fulfilling customer orders, providing supply chain and inventory management, performing human resource management functions, and performing financial management functions. Application programs also may be used for analyzing data, including analyzing data obtained through transaction processing systems. In many cases, application programs used by a business enterprise are developed by a commercial software developer for sale to, and use by, many business enterprises.
An application program may be customized to meet the specific requirements of the environment in which the application program is operating. For example, an application program running on a computer system may be customized to meet the specific requirements of a group of users, such as a particular business enterprise or a particular department in a company. Examples of such customization include customization of the data model, the process model, or the user interface of the application. Customization of an application program may require knowledge of the data model, the process model, and/or the user interface of the application program. Customization of an application program also may require knowledge of programming techniques used to develop the application program.
One approach to customizing an application program is by modifying the computer programs of the application program. Another approach is to develop a second application program that performs a customized process and integrate the second application program with the original application program, for example, by exchanging data between the second, custom-developed application program and the original application program.